package gui;

import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.sql.Date;
import java.sql.Time;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.TimeZone;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.border.TitledBorder;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JComboBox;

import com.toedter.calendar.JDateChooser;

import javax.swing.JCheckBox;
import javax.swing.JTextPane;

import negocio.Administrativo;
import negocio.Area;
import negocio.AreaControlador;
import negocio.Contacto;
import negocio.ContactoControlador;
import negocio.Curso;
import negocio.CursoControlador;
import negocio.Examen;
import negocio.ExamenControlador;
import negocio.Usuario;
import negocio.Supervisor;

import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

public class Contactos extends JFrame {

	private JPanel contentPane;
	private JTextField dni;
	private JTextField nombre;
	private JTextField apellido;
	private JTextField telefono;
	private JTextField email;
	JComboBox comboArea;
	JComboBox comboCurso;
	ArrayList<Area> areas= new ArrayList<Area>();
	ArrayList<Curso> cursos = new ArrayList<Curso>();
	JTextPane observaciones;
	Calendar cal = GregorianCalendar.getInstance();
	Date fecha;
	int hora;
	int min;
	Time laHora;
	Administrativo administrativo;
	Supervisor supervisor=null;
	Usuario instructor=null;

	
	public void llenarComboAreas()
	{
		//comboArea.removeAll();
		areas=AreaControlador.getAll();
		for(Area a : areas)
		{
			comboArea.addItem(a);
		}
	}
	
	public void llenarComboCursos()
	{
		//comboCurso.removeAll();
		cursos=CursoControlador.getAll();
		for(Curso c: cursos)
		{
			comboCurso.addItem(c);
		}
	}
//	/**
//	 * Launch the application.
//	 */
//	public static void main(String[] args) {
//		EventQueue.invokeLater(new Runnable() {
//			public void run() {
//				try {
//					Contactos frame = new Contactos();
//					frame.setVisible(true);
//				} catch (Exception e) {
//					e.printStackTrace();
//				}
//			}
//		});
//	}

	/**
	 * Create the frame.
	 */
	public Contactos(Administrativo administrativo, Supervisor supervisor) {
		
		this.administrativo=administrativo;
		this.supervisor=supervisor;
		setTitle("Crear Contacto");
		setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		setBounds(270, 220, 540, 419);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		hora=cal.HOUR;
		min=cal.MINUTE;
		System.out.println(hora+":"+min+":00");
		cal.set(Calendar.HOUR_OF_DAY, 0);
		cal.set(Calendar.MINUTE, 0);
		cal.set(Calendar.SECOND, 0);
		cal.set(Calendar.MILLISECOND, 0);
		fecha= new Date(2014,10,19);
		JPanel panel = new JPanel();
		panel.setLayout(null);
		panel.setBorder(new TitledBorder(null, "Datos del Intesado", TitledBorder.LEADING, TitledBorder.TOP, null, null));
		panel.setBounds(10, 11, 504, 103);
		contentPane.add(panel);
		
		JLabel lblDni = new JLabel("DNI:");
		lblDni.setBounds(18, 22, 34, 14);
		panel.add(lblDni);
		
		JLabel lblNombre = new JLabel("Nombre:");
		lblNombre.setBounds(18, 47, 46, 14);
		panel.add(lblNombre);
		
		JLabel lblApellido = new JLabel("Apellido:");
		lblApellido.setBounds(18, 78, 46, 14);
		panel.add(lblApellido);
		
		dni = new JTextField();
		dni.setColumns(10);
		dni.setBounds(62, 16, 183, 20);
		panel.add(dni);
		
		nombre = new JTextField();
		nombre.setColumns(10);
		nombre.setBounds(62, 41, 183, 20);
		panel.add(nombre);
		
		apellido = new JTextField();
		apellido.setColumns(10);
		apellido.setBounds(62, 72, 183, 20);
		panel.add(apellido);
		
		telefono = new JTextField();
		telefono.setColumns(10);
		telefono.setBounds(311, 19, 183, 20);
		panel.add(telefono);
		
		JLabel lblMail = new JLabel("Telefono:");
		lblMail.setBounds(255, 22, 52, 14);
		panel.add(lblMail);
		
		JLabel label = new JLabel("Mail:");
		label.setBounds(255, 47, 34, 14);
		panel.add(label);
		
		email = new JTextField();
		email.setColumns(10);
		email.setBounds(311, 44, 183, 20);
		panel.add(email);
		
		JPanel panel_1 = new JPanel();
		panel_1.setLayout(null);
		panel_1.setBorder(new TitledBorder(null, "Observaciones", TitledBorder.LEADING, TitledBorder.TOP, null, null));
		panel_1.setBounds(10, 189, 504, 151);
		contentPane.add(panel_1);
		
		observaciones = new JTextPane();
		observaciones.setBounds(10, 17, 484, 123);
		panel_1.add(observaciones);
		
		JButton button_1 = new JButton("Crear");
		button_1.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseClicked(MouseEvent arg0) {
				//ContactoControlador.guardar(new Contacto(dni.getText(), nombre.getText(), apellido.getText(),
					//	email.getText() , (Curso)comboCurso.getSelectedItem(),(Area)comboArea.getSelectedItem(),
						//observaciones.getText(),fecha,telefono.getText()), administrador, supervisor);
			}
		});
		button_1.setBounds(326, 351, 89, 23);
		contentPane.add(button_1);
		
		JButton button_2 = new JButton("Cancelar");
		button_2.setBounds(425, 351, 89, 23);
		contentPane.add(button_2);
		
		JPanel panel_2 = new JPanel();
		panel_2.setBorder(new TitledBorder(null, "Curso y area de interes", TitledBorder.LEADING, TitledBorder.TOP, null, null));
		panel_2.setBounds(10, 117, 504, 61);
		contentPane.add(panel_2);
		panel_2.setLayout(null);
		
		comboArea = new JComboBox();
		comboArea.setBounds(350, 30, 148, 20);
		panel_2.add(comboArea);
		
		JLabel label_2 = new JLabel("Area");
		label_2.setBounds(294, 30, 46, 14);
		panel_2.add(label_2);
		
		JLabel label_1 = new JLabel("Curso");
		label_1.setBounds(10, 30, 46, 14);
		panel_2.add(label_1);
		
		comboCurso = new JComboBox();
		comboCurso.setBounds(66, 30, 148, 20);
		panel_2.add(comboCurso);
		
		JCheckBox chckbxRecordar = new JCheckBox("Recordar");
		chckbxRecordar.setSelected(true);
		chckbxRecordar.setBounds(223, 351, 97, 23);
		contentPane.add(chckbxRecordar);
		this.llenarComboAreas();
		this.llenarComboCursos();
		Calendar calendar=Calendar.getInstance();
		calendar.setTime(Calendar.getInstance().getTime());
		
		//Date date = calendar.add(calendar.DATE, 20);
		
	}
}
